package cn.tedu.oopextends;

/**
 * @Author 金帮嘉诚
 * @Date 2021-06-09 周三 19:58
 */
/*本类用于测试继承中构造方法的使用*/
public class TestExtends3 {
    public static void main(String[] args) {
        Son3 s=new Son3();
    }
}

class Father3{
    /*构造方法不可以被继承
    * 原因 构造方法必须与类同名，因此子类里不会有一个与父类同名的构造方法
    *  */

    //无参构造
//    public Father3() {
//    }

    public Father3(String string) {

    }
}
class Son3 extends Father3{
    /*在子类的构造方法中，默认存在super（），表示调用父类的无参构造
    * 也就是说，在创建子类时，会调用子类的构造方法，
    * 继承后，会先调用父类的构造方法，再去调用子类的构造方法
    * */
    public Son3() {
        //this("");
        super("");
    }
    /*父类中没有无参构造时，调用的是父类的含参构造，
    * 子类不关心调用的是哪个父类的构造函数
    * 只是必须调用一个父类的构造函数*/

    public Son3(String string) {
        super(string);
        System.out.println(string);
    }
}
